﻿using AutoMapper;
using Himp.Platform;

namespace Himp.DataHub;

public class DataHubApplicationAutoMapperProfile : Profile
{
    public DataHubApplicationAutoMapperProfile()
    {
        #region 患者

        CreateMap<PatnMasterIdx, PatnMasterIdxDto>();
        CreateMap<PatnMasterIdxCreateDto, PatnMasterIdx>();
        CreateMap<PatnMasterIdxUpdateDto, PatnMasterIdx>();

        #endregion

        #region 科室

        CreateMap<DeptInfoCreateDto, DeptInfo>();
        CreateMap<DeptInfoUpdateDto, DeptInfo>();
        CreateMap<DeptInfo, DeptInfoCreatedEto>();
        CreateMap<DeptInfo, DeptInfoUpdatedEto>();
        CreateMap<DeptInfo, DeptInfoDeletedEto>();
        CreateMap<DeptInfo, DeptInfoDto>();
        CreateMap<DeptAssocAttrCreateDto, DeptAttr>();
        CreateMap<DeptAttr, DeptAssocAttrDto>();
        CreateMap<DeptConsultRm, DeptOperRmDto>();

        #endregion

        #region 人员

        CreateMap<PsnInfoCreateDto, PsnInfo>();
        CreateMap<PsnInfoUpdateDto, PsnInfo>();
        CreateMap<PsnInfo, PsnInfoDto>();

        CreateMap<PosInfoCreateDto, PosInfo>();
        CreateMap<PosInfoUpdateDto, PosInfo>();
        CreateMap<PosInfo, PosInfoDto>();

        CreateMap<PatnBaseInfo, PatnBaseInfoDto>();
        CreateMap<PatnBaseInfoCreateDto, PatnBaseInfo>();

        #endregion

        #region 物料

        CreateMap<MatlsBasicInfo, MatlsBasicInfoDto>();

        #endregion

        #region 公共项目

        CreateMap<PubItemCreateDto, PubItem>();
        CreateMap<PubItem, PubItemDto>();

        #endregion

        #region 药品

        CreateMap<DrugPrdrCreateDto, DrugPrdr>();
        CreateMap<DrugPrdrUpdateDto, DrugPrdr>();
        CreateMap<DrugPrdr, DrugPrdrDto>();

        CreateMap<DrugPrdrCreateDto, DrugPrdr>();
        CreateMap<DrugPrdrUpdateDto, DrugPrdr>();
        CreateMap<DrugPrdr, DrugPrdrDto>();

        CreateMap<DrugCatalogTypeCreateOrUpdateDto, DrugCatalogType>();
        CreateMap<DrugCatalogType, DrugCatalogTypeDto>();

        CreateMap<DrugCatalogExtCreateOrUpdateDto, DrugCatalogExt>();
        CreateMap<DrugCatalogExt, DrugCatalogExtDto>();

        CreateMap<DrugCatalogCreateOrUpdateDto, DrugCatalog>();
        CreateMap<DrugCatalog, DrugCatalogDto>();

        #endregion

        #region 疾病诊断

        CreateMap<ClncDiagDictCreateDto, ClncDiagDict>();
        CreateMap<ClncDiagDictUpdateDto, ClncDiagDict>();
        CreateMap<ClncDiagDict, ClncDiagDictDto>();
        CreateMap<DiseDiagDict, DiseDiagDictDto>();

        #endregion
    }
}
